home *** CD-ROM | disk | FTP | other *** search
- <?xml version='1.0' encoding='UTF-8' ?>
- <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
- <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
- <!-- $Revision: 1.5.2.6 $ -->
-
- <!--
- Copyright 2002-2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
- <manualpage metafile="configuring.xml.meta">
-
- <title>Configuration Files</title>
-
- <summary>
- <p>This document describes the files used to configure the Apache
- HTTP server.</p>
- </summary>
-
- <section id="main">
- <title>Main Configuration Files</title>
- <related>
- <modulelist>
- <module>mod_mime</module>
- </modulelist>
- <directivelist>
- <directive module="core" type="section">IfDefine</directive>
- <directive module="core">Include</directive>
- <directive module="mod_mime">TypesConfig</directive>
- </directivelist>
- </related>
-
- <p>Apache is configured by placing <a
- href="mod/directives.html">directives</a> in plain text
- configuration files. The main configuration file is usually called
- <code>httpd.conf</code>. The location of this file is set at
- compile-time, but may be overridden with the <code>-f</code>
- command line flag. In addition, other configuration files may be
- added using the <directive module="core">Include</directive>
- directive, and wildcards can be used to include many configuration
- files. Any directive may be placed in any of these configuration
- files. Changes to the main configuration files are only
- recognized by Apache when it is started or restarted.</p>
-
- <p>The server also reads a file containing mime document types;
- the filename is set by the <directive
- module="mod_mime">TypesConfig</directive> directive,
- and is <code>mime.types</code> by default.</p>
- </section>
-
- <section id="syntax">
- <title>Syntax of the Configuration Files</title>
-
- <p>Apache configuration files contain one directive per line.
- The back-slash "\" may be used as the last character on a line
- to indicate that the directive continues onto the next line.
- There must be no other characters or white space between the
- back-slash and the end of the line.</p>
-
- <p>Directives in the configuration files are case-insensitive,
- but arguments to directives are often case sensitive. Lines
- that begin with the hash character "#" are considered
- comments, and are ignored. Comments may <strong>not</strong> be
- included on a line after a configuration directive. Blank lines
- and white space occurring before a directive are ignored, so
- you may indent directives for clarity.</p>
-
- <p>You can check your configuration files for syntax errors
- without starting the server by using <code>apachectl
- configtest</code> or the <code>-t</code> command line
- option.</p>
- </section>
-
- <section id="modules">
- <title>Modules</title>
-
- <related>
- <modulelist>
- <module>mod_so</module>
- </modulelist>
- <directivelist>
- <directive module="core" type="section">IfModule</directive>
- <directive module="mod_so">LoadModule</directive>
- </directivelist>
- </related>
-
- <p>Apache is a modular server. This implies that only the most
- basic functionality is included in the core server. Extended
- features are available through <a
- href="mod/">modules</a> which can be loaded
- into Apache. By default, a <a
- href="mod/module-dict.html#Status">base</a> set of modules is
- included in the server at compile-time. If the server is
- compiled to use <a href="dso.html">dynamically loaded</a>
- modules, then modules can be compiled separately and added at
- any time using the <directive module="mod_so">LoadModule</directive>
- directive.
- Otherwise, Apache must be recompiled to add or remove modules.
- Configuration directives may be included conditional on a
- presence of a particular module by enclosing them in an <directive
- module="core" type="section">IfModule</directive> block.</p>
-
- <p>To see which modules are currently compiled into the server,
- you can use the <code>-l</code> command line option.</p>
- </section>
-
- <section id="scope">
- <title>Scope of Directives</title>
-
- <related>
- <directivelist>
- <directive module="core" type="section">Directory</directive>
- <directive module="core" type="section">DirectoryMatch</directive>
- <directive module="core" type="section">Files</directive>
- <directive module="core" type="section">FilesMatch</directive>
- <directive module="core" type="section">Location</directive>
- <directive module="core" type="section">LocationMatch</directive>
- <directive module="core" type="section">VirtualHost</directive>
- </directivelist>
- </related>
-
- <p>Directives placed in the main configuration files apply to
- the entire server. If you wish to change the configuration for
- only a part of the server, you can scope your directives by
- placing them in <directive module="core"
- type="section">Directory</directive>, <directive module="core"
- type="section">DirectoryMatch</directive>, <directive module="core"
- type="section">Files</directive>, <directive module="core"
- type="section">FilesMatch</directive>, <directive module="core"
- type="section">Location</directive>, and <directive module="core"
- type="section">LocationMatch</directive>
- sections. These sections limit the application of the
- directives which they enclose to particular filesystem
- locations or URLs. They can also be nested, allowing for very
- fine grained configuration.</p>
-
- <p>Apache has the capability to serve many different websites
- simultaneously. This is called <a href="vhosts/">Virtual
- Hosting</a>. Directives can also be scoped by placing them
- inside <directive module="core" type="section">VirtualHost</directive>
- sections, so that they will only apply to requests for a
- particular website.</p>
-
- <p>Although most directives can be placed in any of these
- sections, some directives do not make sense in some contexts.
- For example, directives controlling process creation can only
- be placed in the main server context. To find which directives
- can be placed in which sections, check the <a
- href="mod/directive-dict.html#Context">Context</a> of the
- directive. For further information, we provide details on <a
- href="sections.html">How Directory, Location and Files sections
- work</a>.</p>
- </section>
-
- <section id="htaccess">
- <title>.htaccess Files</title>
-
- <related>
- <directivelist>
- <directive module="core">AccessFileName</directive>
- <directive module="core">AllowOverride</directive>
- </directivelist>
- </related>
-
- <p>Apache allows for decentralized management of configuration
- via special files placed inside the web tree. The special files
- are usually called <code>.htaccess</code>, but any name can be
- specified in the <directive module="core">AccessFileName</directive>
- directive. Directives placed in <code>.htaccess</code> files
- apply to the directory where you place the file, and all
- sub-directories. The <code>.htaccess</code> files follow the
- same syntax as the main configuration files. Since
- <code>.htaccess</code> files are read on every request, changes
- made in these files take immediate effect.</p>
-
- <p>To find which directives can be placed in
- <code>.htaccess</code> files, check the <a
- href="mod/directive-dict.html#Context">Context</a> of the
- directive. The server administrator further controls what
- directives may be placed in <code>.htaccess</code> files by
- configuring the <directive module="core">AllowOverride</directive>
- directive in the main configuration files.</p>
-
- <p>For more information on <code>.htaccess</code> files, see
- the <a href="howto/htaccess.html">.htaccess tutorial</a>.</p>
- </section>
- </manualpage>
-